package com.showcal.service.request;

import com.showcal.service.domain.MessageContent;
import com.xiniunet.framework.base.BaseRequest;

import javax.validation.constraints.NotNull;
import java.util.Map;

/**
 * Created by guzhixiong on 2015/11/11.
 */
public class SendIMMessageRequest extends BaseRequest {
    /**
     * 消息id
     */
    @NotNull(message = "消息Id不能为空")
    private Long messageId;

    /**
     * 会话 id
     */
    private String conversationId;

    /**
     * 用户id,发送者
     */
    private Long openId;
    /**
     * 服务的瘦咖ID
     */
    @NotNull(message = "服务的瘦咖不能为空")
    private Long showcalId;

    /**
     * 消息发送时间
     */
    private String createdAt;

    /**
     * 消息内通
     */
    @NotNull(message = "消息内容不能为空")
    private MessageContent content;

    /**
     * 自定义扩展字段
     */
    private Map<String, String> extension;

    /**
     * 消息tag
     */
    private Long tag;

    /**
     * 消息标签ID
     */
    private Long tagId;

    public Long getMessageId() {
        return messageId;
    }

    public void setMessageId(Long messageId) {
        this.messageId = messageId;
    }

    public String getConversationId() {
        return conversationId;
    }

    public void setConversationId(String conversationId) {
        this.conversationId = conversationId;
    }

    public Long getOpenId() {
        return openId;
    }

    public void setOpenId(Long openId) {
        this.openId = openId;
    }

    public String getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(String createdAt) {
        this.createdAt = createdAt;
    }

    public MessageContent getContent() {
        return content;
    }

    public void setContent(MessageContent content) {
        this.content = content;
    }

    public Map<String, String> getExtension() {
        return extension;
    }

    public void setExtension(Map<String, String> extension) {
        this.extension = extension;
    }

    public Long getTag() {
        return tag;
    }

    public void setTag(Long tag) {
        this.tag = tag;
    }

    public Long getShowcalId() {
        return showcalId;
    }

    public void setShowcalId(Long showcalId) {
        this.showcalId = showcalId;
    }

    public Long getTagId() {
        return tagId;
    }

    public void setTagId(Long tagId) {
        this.tagId = tagId;
    }

}
